package thread.day1;

/**
 * 创建线程的第二种方法：实现Runnable接口
 * 步骤：
 * 1.自定义类实现Runnable接口
 * 2.将自定义类传入Thread类
 * 3.调用run()方法
 *
 * 两种创建方式的对比
 *      1.推荐实现接口，因为Java是单继承的！！！
 *      2.原因二：自定义类更加灵活，同一个类的多个线程可以共享变量
 * @author wx
 * @create 2019-11-27 21:26
 */
public class ThreadCreate2 {
    public static void main(String[] args) {
        TicketsSell w = new TicketsSell("windows1");
        Thread t1 = new Thread(w);
        Thread t2 = new Thread(w);
        Thread t3 = new Thread(w);


        t1.setName("windows-1");
        t1.setName("windows-2");
        t1.setName("windows-3");
        t1.start();
        t2.start();
        t3.start();

    }

}

class TicketsSell implements  Runnable{

    public TicketsSell(String windowName){

    }

    int ticket = 100;
    @Override
    public void run() {
        while (true){
            if (ticket>0){
                System.out.println(Thread.currentThread().getName()+":"+ticket);
                ticket--;
            }else {
                break;
            }
        }
    }
}